﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ObviousCode.Aspect.PluginLibrary.Interfaces;
using ObviousCode.Common.Utils.Library.Dictionaries.Persistance;
using ObviousCode.UI.Aspect.Events;

namespace ObviousCode.UI.Aspect.Persistence.AspectMenu.Loaders
{
    public abstract class MenuLoader : Loader<IAspectMenu>
    {
        protected abstract override void PerformLoad(IAspectMenu parent, ObviousCode.Common.Utils.Library.Dictionaries.PropertyDictionary saveData);

        public abstract override int Version { get; }

        public static MenuLoader LatestVersion { get { return new MenuLoader_V1(); } }

        public override string Tag
        {
            get { return MenuSaver.ObjectTag; }
        }        
    }
}
